#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
int max(int x, int y)
{
    if (x >= y)
        return x;
    else return y;
}
int  jgde(int x)
{
    int i = 0;
    int flag;
    double tmp = sqrt(x);
    for (i = 0; i < tmp + 1; i++)
    {
        flag = 0;
        if ((int)pow(i, 2) == x)
        {
            flag = 1;
        }

    }
    return flag;
}
int main() {
    int arr[1000] = { 0 };
    int n = 0;
    scanf("%d", &n);
    int i = 0;
    int min = 0;
    for (i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
        if (jgde(arr[i]) == 0)
        {
            min = max(arr[i], min);
        }
    }
    printf("%d", min);

    return 0;
}